package com.aspose.cells;

abstract class zayc {
   public static zagu a(zahn var0, int var1, int var2) {
      if (var1 >= var0.c()) {
         if (var0.c() != 1) {
            return zzb.a;
         } else if (var2 >= var0.d()) {
            return (zagu)(var0.d() != 1 ? zzb.a : var0.a(0, 0));
         } else {
            return var0.a(0, var2);
         }
      } else if (var2 >= var0.d()) {
         return (zagu)(var0.d() != 1 ? zzb.a : var0.a(var1, 0));
      } else {
         return var0.a(var1, var2);
      }
   }

   public static zahn a(zagu var0, zaay var1) {
      zahn var2 = var0.a(var1, false);
      if (var2.l()) {
         switch(var0.b()) {
         case 5:
         case 7:
         case 8:
            if (var0.d() == 64 && var0.a(var1) == 64) {
               return var2;
            }

            var2.a(true);
            return var2.a(0, 0).d(var1).a(var1, false);
         case 6:
         default:
            return var2;
         }
      } else {
         return var2;
      }
   }

   public static zahn a(zahn var0, int var1) {
      int var2 = var0.e() << 1;
      if (var2 < var1) {
         return new zaxl(var0, var1);
      } else {
         int var3 = var0.w();
         return (zahn)(var3 > 0 && var2 < var1 + var3 - var0.v() + 1 ? new zaxl(var0, var1) : new zaxm(var0, var1));
      }
   }

   public static zahn b(zahn var0, int var1) {
      int var2 = var0.d() << 1;
      if (var2 < var1) {
         return new zaxt(var0, var1);
      } else {
         int var3 = var0.w();
         return (zahn)(var3 > 0 && var0.c() * (var2 - var1) < var3 - var0.v() + 1 ? new zaxt(var0, var1) : new zaxu(var0, var1));
      }
   }

   public static zahn c(zahn var0, int var1) {
      int var2 = var0.c() << 1;
      if (var2 < var1) {
         return new zaxw(var0, var1);
      } else {
         int var3 = var0.w();
         return (zahn)(var3 > 0 && var0.d() * (var2 - var1) < var3 - var0.v() + 1 ? new zaxw(var0, var1) : new zaxx(var0, var1));
      }
   }

   public static zahn b(zahn var0, int var1, int var2) {
      int var3 = var0.e() << 1;
      int var4 = var1 * var2;
      if (var3 < var4) {
         return new zaxp(var0, var1, var2);
      } else {
         int var5 = var0.w();
         return (zahn)(var5 > 0 && var3 - (var5 - var0.v() + 1) < var4 ? new zaxp(var0, var1, var2) : new zaxq(var0, var1, var2));
      }
   }

   public static zahn a(zahn var0, zaay var1) {
      CellArea var2 = var1.l;
      int[] var3;
      zagu[] var5;
      if (var0.m()) {
         var3 = new int[2];
         if (var0.b(var1, var3)) {
            var5 = new zagu[var3[1] - var3[0] + 1];
            return new zawy(var0, new zbvk(var5, var0, (zagu)null, var0.y() ? var1.h - var2.StartColumn - var3[0] : -var3[0], var0.d(), var1.h, false, var0.y(), new zbvj(var5.length)), var1);
         } else {
            return new zawz(var0.o(), var0.b(), 1, var0.d());
         }
      } else if (var0.n()) {
         var3 = new int[2];
         if (var0.b(var1, var3)) {
            var5 = new zagu[var3[1] - var3[0] + 1];
            return new zawy(var0, new zbvk(var5, var0, (zagu)null, var0.x() ? var1.g - var2.StartRow - var3[0] : -var3[0], var0.c(), var1.g, true, var0.x(), new zbvj(var5.length)), var1);
         } else {
            return new zawz(var0.o(), var0.b(), var0.c(), 1);
         }
      } else {
         var3 = new int[4];
         if (var0.a(var1, var3)) {
            zagu[][] var4 = new zagu[var3[2] - var3[0] + 1][];
            return new zawy(var0, new zbvm(var4, var0, (zagu)null, var3[3] - var3[1] + 1, var0.c(), var0.d(), var0.x() ? var1.g - var2.StartRow - var3[0] : -var3[0], var0.y() ? var1.h - var2.StartColumn - var3[1] : -var3[1], var1.g, var1.h, var0.x(), var0.y()), var1);
         } else {
            return new zawz(var0.o(), var0.b(), var0.c(), var0.d());
         }
      }
   }

   public static zahn a(zahn var0, zahn var1, zaay var2, zagl var3) {
      if (var2.k) {
         switch(var2.m) {
         case 1:
            if (var2.l.e() > 1 && var0.x() != var1.x()) {
               var2.m = 0;
            }
            break;
         case 2:
            if (var2.l.f() > 1 && var0.y() != var1.y()) {
               var2.m = 0;
            }
            break;
         case 3:
            if (var2.l.e() > 1 && var0.x() != var1.x()) {
               if (var2.l.f() > 1 && var0.y() != var1.y()) {
                  var2.m = 0;
               } else {
                  var2.m = 2;
               }
            } else if (var2.l.f() > 1 && var0.y() != var1.y()) {
               var2.m = 1;
            }
         }
      }

      int var4;
      if (var0.m()) {
         var4 = var0.d();
         if (var1.m()) {
            if (var4 == var1.d()) {
               return new zawx(var0, var1, var3, var2);
            } else {
               var2.m &= -3;
               if (var4 > var1.d()) {
                  var1 = a(var1, var4);
               } else {
                  var0 = a(var0, var1.d());
               }

               return new zawx(var0, var1, var3, var2);
            }
         } else if (!var1.n() && var4 != var1.d()) {
            var2.m &= -3;
            if (var4 > var1.d()) {
               var1 = c(var1, var4);
            } else {
               var4 = var1.d();
               var0 = a(var0, var4);
            }

            return new zaww(var0.c(var2), var1, var3, var2, var1.c(), var4);
         } else {
            return new zaww(var0.c(var2), var1.c(var2), var3, var2, var1.c(), var4);
         }
      } else if (var1.m()) {
         var4 = var1.d();
         if (!var0.n() && var4 != var0.d()) {
            var2.m &= -3;
            if (var4 > var0.d()) {
               var0 = c(var0, var4);
            } else {
               var4 = var0.d();
               var1 = a(var1, var4);
            }

            return new zaww(var0, var1.c(var2), var3, var2, var0.c(), var4);
         } else {
            return new zaww(var0.c(var2), var1.c(var2), var3, var2, var0.c(), var4);
         }
      } else if (var0.n()) {
         var4 = var0.c();
         if (var1.n()) {
            if (var4 == var1.c()) {
               return new zawx(var0, var1, var3, var2);
            } else {
               var2.m &= -2;
               if (var4 > var1.c()) {
                  var1 = a(var1, var4);
               } else {
                  var4 = var1.c();
                  var0 = a(var0, var4);
               }

               return new zawx(var0, var1, var3, var2);
            }
         } else if (var4 == var1.c()) {
            return new zaww(var0.c(var2), var1, var3, var2, var4, var1.d());
         } else {
            var2.m &= -2;
            if (var4 > var1.c()) {
               var1 = c(var1, var4);
            } else {
               var4 = var1.c();
               var0 = a(var0, var4);
            }

            return new zaww(var0.c(var2), var1, var3, var2, var4, var1.d());
         }
      } else if (var1.n()) {
         var1 = var1.c(var2);
         var4 = var1.c();
         if (var4 == var0.c()) {
            return new zaww(var0, var1, var3, var2, var4, var0.d());
         } else {
            var2.m &= -2;
            if (var4 > var0.c()) {
               var0 = c(var0, var4);
            } else {
               var4 = var0.c();
               var1 = a(var1, var4);
            }

            return new zaww(var0, var1, var3, var2, var4, var0.d());
         }
      } else {
         var4 = var0.c();
         int var5 = var0.d();
         if (var4 == var1.c()) {
            if (var5 == var1.d()) {
               return new zawx(var0, var1, var3, var2);
            } else {
               var2.m &= -3;
               if (var5 > var1.d()) {
                  var1 = b(var1, var5);
               } else {
                  var5 = var1.d();
                  var0 = b(var0, var5);
               }

               return new zawx(var0, var1, var3, var2);
            }
         } else if (var5 == var1.d()) {
            var2.m &= -2;
            if (var4 > var1.c()) {
               var1 = c(var1, var4);
            } else {
               var4 = var1.c();
               var0 = c(var0, var4);
            }

            return new zawx(var0, var1, var3, var2);
         } else {
            var2.m = 0;
            if (var4 > var1.c()) {
               if (var5 > var1.d()) {
                  var1 = b(var1, var4, var5);
               } else {
                  var5 = var1.d();
                  var0 = b(var0, var5);
                  var1 = c(var1, var4);
               }

               return new zawx(var0, var1, var3, var2);
            } else {
               if (var5 > var1.d()) {
                  var4 = var1.c();
                  var1 = b(var1, var5);
                  var0 = c(var0, var4);
               } else {
                  var0 = b(var0, var4, var5);
               }

               return new zawx(var0, var1, var3, var2);
            }
         }
      }
   }

   public static zagu a(zahn var0) {
      zagu[][] var1 = new zagu[var0.c()][];
      zagu var2 = var0.o();
      int var3 = var0.d();

      for(int var4 = 0; var4 < var1.length; ++var4) {
         var1[var4] = new zagu[var3];
         com.aspose.cells.a.c.zc.a(var1[var4], 0, var3, var2);
      }

      var0.f();

      while(var0.g()) {
         var1[var0.i()][var0.j()] = var0.h();
      }

      return new zyt(var1);
   }

   public static Object[][] b(zahn var0, zaay var1) {
      Object[][] var2 = new Object[var0.c()][];
      zagu var3 = var0.o();
      int var4 = var0.d();

      for(int var5 = 0; var5 < var2.length; ++var5) {
         var2[var5] = new Object[var4];
         com.aspose.cells.a.c.zc.a(var2[var5], 0, var4, var3.b(var1));
      }

      var0.f();

      while(var0.g()) {
         var2[var0.i()][var0.j()] = var0.h().b(var1);
      }

      return var2;
   }

   public static zagu a(zahn var0, zahz var1, zaay var2, boolean var3, boolean var4) {
      if (var0.l()) {
         return var1.a(var0.a(0, 0), var2, var3);
      } else {
         if (var0.q()) {
            int var5 = var0.r();
            if (var5 < 0) {
               return var1.a(var0.o(), var2, var3, var0.e());
            }

            if ((var5 > 0 || var0.t() > 0 || var0.s() < var0.c() - 1 || var0.u() < var0.d() - 1) && var1.a(var0.o(), var3)) {
               if (var4) {
                  var0.f();
               }

               zagu var6;
               do {
                  do {
                     if (!var0.g()) {
                        return null;
                     }

                     var6 = var1.a(var0.h(), var2, var3);
                  } while(var6 == null);
               } while(var6.b() != 0 && !((zyv)var6).k());

               return var6;
            }
         }

         zagu var7 = var0.p();
         if (var7 != null && !var7.c(var2, false)) {
            var7 = var7.e(var2);
            if (var1.a(var7, var3)) {
               if (var4) {
                  var0.f();
               }

               do {
                  do {
                     if (!var0.g()) {
                        return null;
                     }

                     var7 = var1.a(var0.h(), var2, var3);
                  } while(var7 == null);
               } while(var7.b() != 0 && !((zyv)var7).k());

               return var7;
            }
         }

         return a(var0, var1, var2, var3, var4, true);
      }
   }

   public static zagu a(zahn var0, zahz var1, zaay var2, boolean var3, boolean var4, boolean var5) {
      int var6;
      int var7;
      int var9;
      if (!var0.m() && !var0.n()) {
         var6 = var0.d();
         int var13;
         if (var4) {
            var0.f();
            var7 = 0;
            var13 = 0;
         } else if (var5) {
            var13 = var0.j() + 1;
            if (var13 == var6) {
               var13 = 0;
               var7 = var0.i() + 1;
            } else {
               var7 = var0.i();
            }
         } else {
            var7 = 0;
            var13 = 0;
         }

         while(true) {
            if (!var0.g()) {
               if (var5) {
                  int var12 = var0.c();
                  if (var7 != var12) {
                     return var1.a(var0.o(), var2, var3, (var12 - var7) * var6 - var13);
                  }
               }
               break;
            }

            zagu var11;
            if (var5) {
               var9 = var0.i();
               int var10 = var0.j();
               if (var9 == var7 && var10 == var13) {
                  ++var13;
                  if (var13 == var6) {
                     ++var7;
                     var13 = 0;
                  }
               } else {
                  var11 = var1.a(var0.o(), var2, var3, (var9 - var7) * var6 + (var10 - var13));
                  if (var11 == null) {
                     var13 = var10 + 1;
                     if (var13 == var6) {
                        var7 = var9 + 1;
                        var13 = 0;
                     } else {
                        var7 = var9;
                     }
                  } else {
                     if (var11.b() == 0 || ((zyv)var11).k()) {
                        return var11;
                     }

                     var5 = false;
                  }
               }
            }

            var11 = var1.a(var0.h(), var2, var3);
            if (var11 != null && (var11.b() == 0 || ((zyv)var11).k())) {
               return var11;
            }
         }
      } else {
         if (var4) {
            var0.f();
            var6 = 0;
         } else if (var5) {
            var6 = var0.k() + 1;
         } else {
            var6 = 0;
         }

         while(var0.g()) {
            zagu var8;
            if (var5) {
               var7 = var0.k();
               if (var7 > var6) {
                  var8 = var1.a(var0.o(), var2, var3, var7 - var6);
                  if (var8 == null) {
                     var6 = var7 + 1;
                  } else {
                     if (var8.b() == 0 || ((zyv)var8).k()) {
                        return var8;
                     }

                     var5 = false;
                  }
               } else {
                  ++var6;
               }
            }

            var8 = var1.a(var0.h(), var2, var3);
            if (var8 != null && (var8.b() == 0 || ((zyv)var8).k())) {
               return var8;
            }
         }

         if (var5) {
            var9 = var0.e();
            if (var6 < var9) {
               return var1.a(var0.o(), var2, var3, var9 - var6);
            }
         }
      }

      return null;
   }

   static zahn a(zagu[] var0, zagu var1, zagu var2, int var3, int var4, int var5, int var6, int var7, int var8, boolean var9, int var10, boolean var11) {
      int var12 = var6 - var5;
      if (var12 == 1) {
         return new zaya(var0[var5]);
      } else if (var4 == 0) {
         return var9 ? new zawz(var2, var3, var8, 1) : new zawz(var2, var3, 1, var8);
      } else {
         if (var4 == 1) {
            while(var5 < var6) {
               if (var0[var5] == var1) {
                  if (var9) {
                     return new zaxh(var1, var2, var3, var8, 1, var5 - var7, 0, var10, 0, var11, false);
                  }

                  return new zaxh(var1, var2, var3, 1, var8, 0, var5 - var7, 0, var10, false, var11);
               }

               ++var5;
            }
         }

         int[] var13 = new int[var4 < 0 ? var12 >> 2 : Math.min(var4, var12 >> 2)];
         int[] var14 = new int[var13.length];
         var12 = 0;
         int var15 = 0;

         boolean var16;
         for(var16 = false; var5 < var6; ++var5) {
            if (var0[var5] == var1) {
               if (var16) {
                  ++var14[var15];
               } else {
                  if (var15 == var13.length) {
                     break;
                  }

                  var16 = true;
                  var13[var15] = var5;
                  var14[var15] = var5;
               }

               ++var12;
            } else if (var16) {
               ++var14[var15];
               var16 = false;
               ++var15;
            }
         }

         int[] var17;
         int var18;
         if (var16) {
            ++var14[var15];
            ++var15;
         } else if (var5 < var6) {
            var17 = new int[var4 < 0 ? var12 + var6 - var5 : var4];
            var15 = 0;

            for(int var19 = 0; var19 < var13.length; ++var19) {
               var12 = var13[var19];
               var17[var15++] = var12++;
               var18 = var14[var19];
               if (var12 < var18) {
                  do {
                     var17[var15++] = var12++;
                  } while(var12 != var18);
               }
            }

            var17[var15++] = var5++;
            if (var5 < var6) {
               do {
                  if (var0[var5] == var1) {
                     var17[var15++] = var5;
                  }

                  ++var5;
               } while(var5 != var6);
            }

            if (var15 < var17.length) {
               int[] var20 = new int[var15];
               System.arraycopy(var17, 0, var20, 0, var15);
               var17 = var20;
            }

            return new zayb(var2, var1, var3, var17, var7, var8, var9, var10, var11);
         }

         if (var12 > var15 << 2) {
            if (var15 < var13.length) {
               var17 = new int[var15];
               System.arraycopy(var13, 0, var17, 0, var15);
               var13 = var17;
               var17 = new int[var15];
               System.arraycopy(var14, 0, var17, 0, var15);
               var14 = var17;
            }

            return new zaxg(var2, var1, var3, var13, var14, var7, var8, var9, var10, var11);
         } else if (var12 == 0) {
            return var9 ? new zawz(var2, var3, var8, 1) : new zawz(var2, var3, 1, var8);
         } else if (var12 == 1) {
            return var9 ? new zaxh(var1, var2, var3, var8, 1, var13[0] - var7, 0, var10, 0, var11, false) : new zaxh(var1, var2, var3, 1, var8, 0, var13[0] - var7, 0, var10, false, var11);
         } else {
            var17 = new int[var12];
            var12 = 0;

            for(var18 = 0; var18 < var15; ++var18) {
               var5 = var13[var18];
               var17[var12++] = var5++;
               var6 = var14[var18];
               if (var5 < var6) {
                  do {
                     var17[var12++] = var5++;
                  } while(var5 != var6);
               }
            }

            return new zayb(var2, var1, var3, var17, var7, var8, var9, var10, var11);
         }
      }
   }
}
